Skip to content

Port Bugzilla appliance to TurnKey 19 - #20

Open
lirazsiri wants to merge 8 commits into
masterfrom
pr/v19-trixie
Open

Port Bugzilla appliance to TurnKey 19#20
lirazsiri wants to merge 8 commits into
masterfrom
pr/v19-trixie

Conversation

@lirazsiri

Copy link
Copy Markdown
Member

Summary

  • port Bugzilla to Debian Trixie and upstream Bugzilla 5.2
  • update LAMP integration, firstboot configuration, Apache SSL, and update workflow
  • add focused v19 acceptance for authentication, bug creation, persistence, services, provenance, and updates

Validation

  • independent review: SHIP at 267adcf
  • exact PASS run 20260825t110805z-6774-7841
  • retained manifest and report SHA-256 5a112b90c8ad7e3971c27a89fbeb2a5bc94c5a463f101e89414800cd1b86a02e verified
  • git diff --check origin/master...267adcf

Bugzilla is not packaged as a server in Debian Trixie, so install a pinned commit from the maintained upstream 5.2 branch while retaining its Git update path. Use the native MariaDB driver to avoid the v18 DBD::mysql TLS blocker, and install only the too-old Template Toolkit dependency from a verified CPAN release.

Add focused Docker acceptance coverage for firstboot administration, REST bug persistence, HTTPS, mail, cron, Adminer, Webmin, package provenance, and a non-destructive upstream update replay. Document the README crosswalk and supervised update workflow.
The inherited Bugzilla vhost uses SSLEngine, but the appliance did not enable mod_ssl. Normal firstboot reached runtime with an invalid Apache configuration, so enable the module alongside the other required vhost modules.

Verified by the first exact Trixie run reaching runtime tests and failing specifically at apache2ctl -t on the missing SSLEngine command.
The final appliance root owns the deployed checkout, so invoking Git as www-data triggers Git safe-directory rejection before any application assertion. Exercise the documented root-run supervised update workflow with the actual deployment ownership instead.

The preceding exact run proved normal firstboot and valid Apache SSL configuration before failing at the mismatched test identity.
The deployed checkout has mixed build and service ownership, so neither changing to www-data nor running plain Git as root reliably passes Git ownership protection. This blocked the documented supervised updater before any application assertion.

Pass a per-command safe.directory for only /var/www/bugzilla in the root-run test and documented update workflow. This avoids a global trust exception while preserving the maintained upstream 5.2 update path.
The acceptance expression lost its dollar-sign escape during shell parsing, so grep interpreted the anchor as the end of the line and rejected the valid generated localconfig before application tests ran.

Use a bracket expression for the literal dollar sign. Fixture checks cover both the expected MariaDB setting and a mismatched driver; this is a test-only correction and does not consume a product fix loop.
Bugzilla's manual Apache overlay enabled mod_ssl without TurnKey's certificate configuration, so Apache failed during normal firstboot and HTTPS never listened. Use the existing LAMP make fragment to apply the standard Apache TLS, headers, security, MariaDB, PHP, and Adminer contracts while retaining the Bugzilla credit hook.

Verified with the resolved FAB make variables, shell syntax checks, and git diff --check. The exact d90b7ef run supplied the firstboot failure evidence.
Bugzilla 5.2 leaves the default operating system and platform empty while treating both fields as mandatory during bug creation. Make the acceptance request portable by sending the documented defaulted fields explicitly, including priority and severity, so the test reaches the appliance's ordinary CRUD behavior.

Verified the payload as JSON, checked the test with bash -n, and ran git diff --check. This is a test-only correction from the exact 0a02d83 runtime result.
Bugzilla 5.2 initializes named priority values rather than the legacy P1 through P5 scale. Send the installed default priority in the focused REST creation request so the acceptance test exercises ordinary bug creation instead of correctly receiving a not-found response for an unknown field value.

Verified the payload as JSON, checked the test with bash -n, and ran git diff --check. This is a test-only correction from the exact 2ddf72c runtime result and does not consume a product fix loop.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant